<#assign currentTime = .now>
<#assign extraColumns = ["id", "create_time", "create_user", "update_time", "update_user"]>

package ${templateTable.packageName}.${templateTable.javaTableName[0]?lower_case+templateTable.javaTableName[1..]}.domain.entity;

<#-- 过滤数据 -->
<#assign filteredTypes = []>
<#list templateTable.columns as column>
    <#-- 检查是否不在 extraColumns 中 -->
    <#if !templateTable.extraColumns?seq_contains(column.sqlName)>
        <#assign filteredTypes = filteredTypes + [column.fullyQualifiedJavaType]>
    </#if>
</#list>

<#-- 去重 -->
<#assign uniqueTypes = []>
<#list filteredTypes as type>
    <#if !uniqueTypes?seq_contains(type)>
        <#assign uniqueTypes = uniqueTypes + [type]>
    </#if>
</#list>

<#-- 输出结果，排除包含 "lang" 的类型 -->
<#list uniqueTypes as type>
    <#if !type?contains("lang")>
import ${type};
    </#if>
</#list>
import com.neegix.base.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;

 /**
  * This file is auto-generated by nebula-framework-generator.
  * The auto-generation plugin was developed using IntelliJ IDEA Community Edition.
  * Thanks to JetBrains for their outstanding contributions to the developer community.
  * <p>
  * The code generated by this tool is owned by the user of the tool.
  * The tool itself is copyrighted by <a href="${templateTable.copyright}">${templateTable.copyright}</a>.
  *
  * @author <a href="${templateTable.copyright}">${templateTable.copyright}</a>
  * @version ${templateTable.version}
  * @since ${currentTime?string("yyyy-MM-dd HH:mm:ss")}
  */

@EqualsAndHashCode(callSuper = true)
@Data
public class ${templateTable.javaTableName}Entity extends BaseEntity {
    <#if templateTable.columns?exists>
        <#list templateTable.columns as column>
             <#if !extraColumns?seq_contains(column.sqlName)>
    // ${column.description}
    private ${column.javaType} ${column.javaName};
            </#if>
        </#list>
    </#if>
}